package main

import "fmt"

func main() {

	//map定义 方式一

	var m map[string]int
	m = make(map[string]int)
	m["rob"] = 1
	fmt.Println(m)

	//map定义 方式二
	var m2 = map[string]int{}
	m2["rob"] = 1
	fmt.Println(m2)

	var m3 = map[string]int{
		"rob": 1, //一定需要加上,
	}
	fmt.Println(m3)

	//map 的键 不能为切片，也不能为函数
	//值没有要求
	var ms = map[string][]string{
		"rob": []string{"a"},
	}

	fmt.Println(ms)

	//var nilm map[string]int
	//nilm["rob"] = 1
	//fmt.Println(nilm)	//panic: assignment to entry in nil map  没有make是会报错

	//map 是引用型，
	changem(m)
	fmt.Println(m) //map[rob:2]

}

func changem(m map[string]int) {
	m["rob"] = 2
}
